#include <stdio.h>
#include <windows.h>
#pragma warning (disable : 4996)

#define N 15
//int a[N][N];
////  二维数组

//void Trangle(const int n)
//{
//	int i, j, k;
//	for ( i = 0; i < n; i++){                            //头尾置1
//		a[i][i] = 1; 
//		a[i][0] = 1;
//	}
//	for ( i = 2; i < n; i++){
//		for (int j = 1; j < i; j++)
//			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
//	}
//
//	for ( i = 0; i < n; i++){
//		for (k = 0; k < n - i; k++){ 
//			printf("  ");
//		}
//        for (j = 0; j < i + 1; j++){
//			printf("%4d", a[i][j]);
//		}
//		printf("\n");
//	}
//	printf("\n");
//}

//// 二项式定理
static int Factorial(int n)
{
	if (n > 1){
		return n * Factorial(n - 1);
	}
		return 1;
}

void Trangle(const int n)
{
	int Cir;
	for (int i = 0; i < n; i++){
		for(int k = 0; k <n - i; k++){
			printf("  ");
		}

		for (int r = 0; r <= i; r++){
			Cir = Factorial(i) / (Factorial(r)*Factorial(i - r));
			printf("%4d", Cir);
		}
		printf("\n");
	}
}

int main()
{
	int row; 
	printf("请输入行数。\n");
	scanf("%d", &row);
	Trangle(row);
	system("pause");
	return 0;
}